home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 2005 July / Macworld CD 17.05.iso / Data / Main.dxr / 00002_DB routines.ls < prev    next >
Encoding:
Text File  |  2000-02-28  |  2.2 KB  |  85 lines

  1. global gDB, gDB_Table1
  2.  
  3. on readDB
  4.   gDB = new(xtra("V12dbe"), the pathName & "MacworldMay00.v12", "readonly", EMPTY)
  5.   CheckError()
  6.   gDB_Table1 = new(xtra("V12table"), mGetRef(gDB), "Table1")
  7.   CheckError()
  8.   mSelectAll(gDB_Table1)
  9.   CheckError()
  10. end
  11.  
  12. on CheckError
  13.   if mStatus(xtra("V12dbe")) then
  14.     errMsg = mError(xtra("V12dbe"))
  15.     put errMsg
  16.     alert(errMsg)
  17.     beep()
  18.   end if
  19. end
  20.  
  21. on SearchMyList description
  22.   myList = []
  23.   repeat with cnt = 1 to count(myList)
  24.     if getaProp(getAt(myList, cnt), #description) = description then
  25.       found = 1
  26.       exit repeat
  27.     end if
  28.   end repeat
  29.   if found = 1 then
  30.     tempList = getAt(myList, cnt)
  31.     qty = getaProp(getAt(myList, cnt), #qty)
  32.     setaProp(tempList, #qty, qty + 1)
  33.     setAt(myList, cnt, tempList)
  34.   else
  35.     newThing = [:]
  36.     setaProp(newThing, #qty, 1)
  37.     setaProp(newThing, #description, description)
  38.     setAt(myList, count(myList) + 1, newThing)
  39.   end if
  40. end
  41.  
  42. on Padstring s, n, c
  43.   l = length(s)
  44.   newS = s
  45.   repeat with X = 1 to n - l
  46.     newS = c & newS
  47.   end repeat
  48.   return newS
  49. end
  50.  
  51. on InitDBText
  52.   tempS = EMPTY
  53.   repeat with X = 1 to mSelectCount(gDB_Table1)
  54.     mGo(gDB_Table1, X)
  55.     myTitle = mGetField(gDB_Table1, "Title")
  56.     if mGetField(gDB_Table1, "NewItem") = "X" then
  57.       put "*" before tempS
  58.     end if
  59.     put myTitle & RETURN after tempS
  60.   end repeat
  61.   delete char length(tempS) of tempS
  62.   put tempS into field "Product Names"
  63. end
  64.  
  65. on showProdInfo myLine
  66.   mGo(gDB_Table1, myLine)
  67.   put mGetField(gDB_Table1, "Title") into field "Item Name"
  68.   put mGetField(gDB_Table1, "Version") into field "Version"
  69.   put mGetField(gDB_Table1, "Author") into field "Author"
  70.   put mGetField(gDB_Table1, "Type") into field "Type"
  71.   put mGetField(gDB_Table1, "Category") into field "Category"
  72.   put mGetField(gDB_Table1, "Email") into field "Email"
  73.   put mGetField(gDB_Table1, "URL") into field "URL"
  74.   put mGetField(gDB_Table1, "Price") into field "Price"
  75.   put mGetField(gDB_Table1, "Description") into field "Description"
  76.   HACK = the number of words in line 1 of field "Description"
  77.   put " " after word HACK of line 1 of field "Description"
  78.   put mGetField(gDB_Table1, "Path") into field "Location"
  79.   if mGetField(gDB_Table1, "NewItem") = "X" then
  80.     vis(16)
  81.   else
  82.     devis(16)
  83.   end if
  84. end
  85.